Nondeterminism in Formal Development of Concurrent Programs: A Constructive Approach
نویسنده
چکیده
It is now widely accepted that programming concurrent software is a complex, error-prone task. Therefore it is useful to specify, develop, and verify concurrent programs using formal methods. In our continuing work, we try to develop a constructive framework for extracting concurrent programs from their formal specifications. In this framework, we use CZ specification language and rely on a translation of CZ set theory into Martin-Löf's theory of types. In this paper, we introduce the first part of our work in which we regard and track the nondeterminism involved in CZ formal specifications of concurrent programs.
منابع مشابه
Nondeterminism in Constructive Z
The abstraction inherent in most specifications and the need to specify nondeterministic programs are two well-known sources of nondeterminism in formal specifications. In this paper, we present a formalism, including the notion of multi-schema and a new set of schema calculus operations, by which one can specify bounded, unbounded, loose, strict, erratic, angelic, demonic, singular, and plural...
متن کاملA primer on model checking
40 acm Inroads 2010 March • Vol. 1 • No. 1 Model checking is a widely used formal method for the verifi cation of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model che...
متن کاملA primer on model checking
40 acm Inroads 2010 March • Vol. 1 • No. 1 Model checking is a widely used formal method for the verifi cation of concurrent programs. This article starts with an introduction to the concepts of model checking, followed by a description of Spin, one of the foremost model checkers. Software tools for teaching concurrency and nondeterminism using model checking are described: Erigone, a model che...
متن کاملFormal Development of Two Player Games: A Constructive Approach
In a two player game, the choices of our player can be modeled by angelic nondeterminism and those of our opponent by demonic nondeterminism. In this paper, we introduce some notations and semantics to MartinLöf's theory of types which facilitate the use of angelic and demonic interpretations of nondeterminism in type theoretical specifications. Using the proposed, nondeterministic constructs, ...
متن کاملCC Programs with both In- and Non-determinism: A Concurrent Semantics
We present a concurrent semantics for concurrent constraint (cc) programming framework with both (\committed choice") indeterminism and (\backtracking") nondeterminism. The semantics extends the previous semantics for Indeterminate cc by (1) allowing each state to contain di erent or-parallel components and (2) splitting the concurrency relation into two to distinguish between andand or-concurr...
متن کامل